package gambit.view;

import gambit.core.Tabuleiro;
import gambit.jogador.Jogador;

import javax.swing.JFrame;

public class Janela extends JFrame {
	
	private static final long serialVersionUID = -2185144492170881384L;
	
	private TabuleiroView tabuleiroView;
	private static int demora = 2;
	
	public static void main(String args[]){

		Jogador jogador1 = new Jogador("Emil", false, 3, true);
		Jogador jogador2 = new Jogador("Douglas", true, 3, false);
		
		realizarJogo(jogador1, jogador2);
		
		jogador1.aprender();
		jogador2.aprender();

		System.exit(0);
	}
	
	public Janela(int[] casasTabuleiro){
		setBounds(0,0,700,700);
		tabuleiroView = new TabuleiroView(casasTabuleiro);
		add(tabuleiroView);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		setVisible(true);
	}
	
	private static void realizarJogo(Jogador jogador1, Jogador jogador2){

		Tabuleiro tabuleiro = new Tabuleiro();
		Janela janela = new Janela(tabuleiro.getCasas());
		boolean isNotFimDeJogo = true;
		
		while(isNotFimDeJogo){
			
			if(isNotFimDeJogo){
				
				for(long j = 0; j < 100000000*demora; j++){
					
				}
				
				tabuleiro.setCasas(jogador1.jogar(tabuleiro.getCasas()));
				isNotFimDeJogo = jogador1.isPossivelContinuar();
				janela.setCasasTabuleiro(tabuleiro.getCasas());

			}

			if(isNotFimDeJogo){
				
				for(long j = 0; j < 100000000*demora; j++){
					
				}
				
				tabuleiro.setCasas(jogador2.jogar(tabuleiro.getCasas()));
				isNotFimDeJogo = jogador2.isPossivelContinuar();
				janela.setCasasTabuleiro(tabuleiro.getCasas());
			}
		}
	}
	
	public void setCasasTabuleiro(int[] casasTabuleiro){
		if(casasTabuleiro != null)
			tabuleiroView.setCasasTabuleiro(casasTabuleiro);
	}

}
